<template>
    <!-- 头部 -->
    <div class="header">
        <div class="header-left">
            中部地区
            <van-icon name="arrow" />
        </div>
        <div class="header-right">
            <van-search v-model="searchValue" shape="round" placeholder="请输入搜索关键词" />
        </div>
    </div>
    <!-- 轮播图 -->
    <van-swipe class="my-swiper" height="170" :autoplay="3000" indicator-color="white">
        <van-swipe-item v-for="(item, index) in homeData.slides" :key="item.id">
            <van-image class="swiper-img" radius="5" :src="item.pic_image_url" />
        </van-swipe-item>
    </van-swipe>

    <!-- 快捷入口 -->
    <van-row justify="space-around">
        <van-col v-for="(item, index) in homeData.nav2s" :key="item.id" class="center-img" span="11"
            @click="goOrderTwo(index)">
            <van-image radius="5" :src="item.pic_image_url" />
        </van-col>
    </van-row>
    <!-- 医院 -->
    <van-row v-for="(item, index) in homeData.hospitals" :key="item.id" justify="space-around" class="yy-list"
        @click="goOrder(item)">
        <van-col span="6">
            <van-image style="width: 100px; height: 90px;" radius="5" :src="item.avatar_url" />
        </van-col>
        <van-col class="yy" span="15">
            <div class="yy-name">{{ item.name }}</div>
            <div class="yy-type">
                <span>{{ item.rank }}</span>
                <!-- 空格 -->
                &nbsp;
                <span>{{ item.label }}</span>
            </div>
            <div class="yy-text">{{ item.intro }}</div>
        </van-col>
    </van-row>
</template>

<script setup name="home">
import { ref, reactive, onMounted, getCurrentInstance } from 'vue'
import { useRouter } from 'vue-router'
const router = useRouter()

// 获取当前vue实例
const { proxy } = getCurrentInstance()

// 搜索框
const searchValue = ref('')

// 首页数据 写属性因为reactive赋值要保证响应式
const homeData = reactive({
    hospitals: [],
    nav2s: [],
    navs: [],
    now: '',
    slides: [],
})

// 快捷入口
const goOrderTwo = (index) => {
    router.push(`/createOrder?id=${homeData.hospitals[index].id}`)
}

// 点击医院列表跳转下单
const goOrder = (data) => {
    router.push(`/createOrder?id=${data.id}`)
}

onMounted(async () => {
    // 获取首页数据
    const { data } = await proxy.$api.index()
    Object.assign(homeData, data.data)
    console.log(homeData)
})
</script>

<style lang="less" scoped>
.header {
    display: flex;
    justify-content: space-between;
    margin: 5px;
    line-height: 54px;

    .header-left {
        padding-left: 22px;
        background: url() no-repeat left center;
        background-size: 20px;
        font-size: 20px;
        font-weight: bold;
        color: #666666;
    }
}

.my-swiper {
    margin: 5px;

    .swiper-img {
        width: 100%;
        height: 100%;
    }
}

.yy-list {
    padding-bottom: 10px;
    margin: 20px 0;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 6px 0 rgba(0, 0, 0, 0.04), 0 1px 6px 0 rgba(0, 0, 0, 0.04);

    .yy {
        .yy-name {
            font-size: 20px;
            line-height: 30px;
            font-weight: bold;
        }

        .yy-type {
            font-weight: bold;
            line-height: 25px;
            font-size: 15px;
            color: #0ca7ae;
        }

        .yy-text {
            font-size: 14px;
            color: #999999;
        }
    }
}

.bottom-text {
    line-height: 50px;
    text-align: center;
    color: #999999;
}
</style>